Everything about Computer Terminal totally explained
A
computer terminal is an electronic or electromechanical
hardware device that's used for entering data into, and displaying data from, a
computer or a
computing system. A computer terminal is an instance of a
human-machine interface (HMI).
The function of a terminal is confined to display and input of data; a device with significant local programmable data processing capability may be called a "smart terminal" or
thin client. A personal computer can run software that emulates the function of a terminal, sometimes allowing concurrent use of local programs and access to a distant host system.
Historical
Early user terminals connected to computers were generally electromechanical
teleprinters (TTYs), such as the
model 33 Teletype, originally used for
telegraphy. Later printing terminals such as the
DECwriter were developed. However printing terminals were limited by the speed at which paper could be printed, and for interactive use the paper record was unnecessary.
By the early
1970s, many in the computer industry realized that an affordable video data entry terminal could supplant the ubiquitous
punch cards and permit new uses for computers that would be more interactive. The problem was that the amount of memory needed to store the information on a page of text was comparable to the memory in low end
minicomputers then in use. Displaying the information at video speeds was also a challenge and the necessary control logic took up a rack worth of pre-
integrated circuit electronics. One company announced plans to build a video terminal for $15,000 and attracted a large backlog of orders, but folded when their engineering plans, which included fabricating their own ICs, proved too ambitious. Another approach involved the use of the
storage tube, a specialized CRT developed by
Tektronix that retained information written on it without the need to refresh.
Early video computer displays were sometimes nicknamed "Glass TTYs" and used individual
logic gates, with no
CPU. One of the motivations for development of the
microprocessor was to simplify and reduce the electronics required in a terminal. Most terminals were connected to
mainframe computers and often had a green or amber screen. Typically terminals communicate with the computer via a
serial port, often using the
RS-232 serial interface.
IBM systems communicated over a
coaxial cable using IBM's
SNA protocol.
Later, so-called "intelligent" terminals were introduced, such as the
VT52 and
VT100 made by
DEC, both of which are still widely emulated in software. These were called "intelligent" because they'd the capability of interpreting
escape sequences to position the
cursor and control the display. Notable non-VT100 computer terminal types include the
IBM 3270, various
Wyse models (whose Wyse 60 was a best-seller—many are still in use), and the
Tektronix 4014.
During the late
1970s and early
1980s, there were dozens of manufacturers of terminals including
DEC,
Wyse,
Televideo,
Hewlett Packard,
IBM,
Lear-Siegler and
Heath, many of which had incompatible command sequences.
While early
IBM PCs had single color
green screens, these screens were not terminals. The screen of a PC didn't contain any character generation hardware; all video signals and video formatting were generated by the video display card in the PC. With suitable terminal software PCs could, however, emulate a terminal, if connected to a mainframe computer. Eventually microprocessor-based personal computers greatly reduced the market demand for terminals. Today, most PC
telnet clients provide emulation of the most common terminal—the DEC
VT100.
Text terminals
A
text terminal, or often just
terminal (sometimes
text console) is a serial computer interface for text entry and display. Information is presented as an array of pre-selected formed characters. When such devices use a
video display such as a
cathode-ray tube, they're called a "video display unit" or "visual display unit" (VDU) or "video display terminal" (VDT).
Original text terminals were electronic
computer terminals connected to computers by a
serial port, but later computers have built-in
system consoles, and
terminal emulator programs that work in a graphical
desktop environment. Graphical displays have not eradicated the text terminal as it's convenient for computer programmers and appropriate for
command-line interfaces and
text user interfaces. Most programming languages support
standard streams for inputting and printing text, and it's simple to connect the streams to a text terminal.
Types of text terminals
The
System console is a text terminal used to operate a computer. Modern computers have a built-in keyboard and display for the console. Some
Unix-like operating systems such as
Linux and
FreeBSD have
virtual consoles to provide several text terminals on a single computer.
A
terminal emulator is a computer program in a graphical
windowing system that lets the user operate a text terminal in a window. This lets text terminals coexist with modern
graphical user interfaces. Popular
terminal emulators include
Win32 console and
xterm.
There are also specialized terminal emulators such as those used with modems.
PuTTY is a terminal emulator and
ssh client.
Applications running on a text terminal
The fundamental type of application running on a text terminal is a
command line interpreter or
shell, which
prompts for commands from the user and executes each command after a press of
Enter. This includes
Unix shells and some
interactive programming environments. In a shell, most of the commands are small applications themselves.
Another important application type is
text editor. It occupies the whole area of display, shows a text document, and allows the user to edit the document. This has in part been replaced by
word processors. The first word processors used text to communicate the structure of the document, but later work outside of the text terminal and simulate the final paper document in a graphical user interface.
Programs such as
Telix and
Minicom control a
modem and the local terminal to let the user interact with remote servers. In the
Internet,
telnet and
ssh work similarly.
Programming interface
In the simplest form, a text terminal is like a file. Writing to the file displays the text and reading from the file produces what the user enters. In
unix-like operating systems, there are several
character special files that correspond to available text terminals.
For other operations, there are special
escape sequences,
control characters and
termios functions that a program can use, most easily via a library such as
ncurses. For more complex operations, the programs can use terminal specific
ioctl system calls.
Technical discussion
For an application, the simplest way to use a terminal is to simply write and read text strings to and from it sequentially. The output text is scrolled, so that only the last several lines (typically 24) are visible.
Unix systems typically
buffer the input text until the
Enter key is pressed, so the application receives a ready string of text. In this mode, the application need not know much about the terminal.
For many interactive applications this isn't sufficient. One of the common enhancements is
command line editing (assisted with such libraries as
readline); it also may give access to command history. This is very helpful for various interactive
command line interpreters.
Even more advanced interactivity is provided with
full-screen applications. Those applications completely control the screen layout; also they respond to key-pressing immediately. This mode is very useful for
text editors,
file managers and
web browsers. In addition, such programs control the color and brightness of text on the screen, and decorate it with underline, blinking and special characters (for example
box drawing characters).
To achieve all this, the application must deal not only with plain text strings, but also with
control characters and
escape sequences, which allow to move
cursor to an arbitrary position, to clear portions of the screen, change colors and display special characters — and also respond to
function keys.
The great problem here's that there are so many different terminals and
terminal emulators, each with its own set of
escape sequences. In order to overcome this, special
libraries (such as
curses) have been created, together with terminal description databases, such as
Termcap and
Terminfo. Unfortunately, the libraries, the databases and the terminal emulators themselves are too often buggy, so it isn't unusual to see the display imperfect or garbled, or function keys not working. Often it's necessary to hand-edit the terminfo definition to make a terminal emulator to work well. Perhaps the best overall results are obtained with
xterm, because it's one of the most widely used terminal emulators.
All this has led to little
usability of many text-mode applications except when on
console or in
xterm.
In recent years, the general switching of users to GUI has lessened the attention paid to terminal-handling libraries and to terminal emulation, and almost stalled the debugging efforts.
Dumb terminal
The specific meaning of the term
dumb terminal can vary depending on the context in which it's used.
In the context of traditional computer terminals that communicate over a serial
RS-232 connection, dumb terminals are those that can interpret a limited number of control codes (CR, LF etc.) but don't have the ability to process special
escape sequences that perform functions such as clearing a line, clearing the screen, or controlling
cursor position. In this context dumb terminals are sometimes dubbed
glass teletypes, for they essentially have the same limited functionality as does a mechanical
teletype. This type of dumb terminal is still supported on modern
Unix-like systems by setting the
environment variable TERM to
dumb.
Smart or
intelligent terminals are those that also have the ability to process escape sequences, in particular the
VT52,
VT100 or
ANSI escape sequences.
In the broader context that includes all forms of keyboard/screen computer communication devices, including
personal computers,
diskless workstations,
network computers,
thin clients, and
X Terminals, the term dumb terminal is sometimes used to refer to
any type of traditional computer terminal that communicates serially over a
RS-232 connection that doesn't locally process data or execute user programs.
The term dumb terminal sometimes also refers to public computer terminals that are limited to monochrome text-only capabilities, or to terminals that transmit each character as it's typed rather than waiting until it's polled by a host computer.
Graphical terminals
A graphical terminal can display images as well as text. Graphical terminals are divided into
vector-mode terminals, and
raster mode.
A vector-mode display directly draws lines on the face of a cathode-ray tube under control of the host computer system. The lines are continuously formed, but since the speed of electronics is limited, the number of concurrent lines that can be displayed at one time is limited. Vector-mode displays were historically important but are no longer used.
Practically all modern graphic displays are raster-mode, descended from the picture scanning techniques used for
television, in which the visual elements are a rectangular array of
pixels. Since the raster image is only perceptible to the human eye as a whole for a very short time, the raster must be refreshed many times per second to give the appearance of a persistent display. The electronic demands of refreshing display memory meant that graphic terminals were developed much later than text terminals, and initially cost much more.
Most terminals today are graphical - that is, they can show images on the screen. The modern term for graphical terminal is "
thin client". A thin client typically uses a protocol like
RDP for Microsoft Windows, or
X11 for
Unix-terminals. The bandwidth needed depends on the protocol used, the resolution, and the color depth.
Modern graphic terminals allow display of images in color, and of text in varying sizes, colors, and
fonts (type faces).
AlphaWindows
In the early 1990s an industry consortium attempted to define a standard that would allow a single CRT screen to implement multiple windows, each of which was to behave as a distinct terminal. Unfortunately like
I2O this suffered from being run as a closed standard: non-members were unable to obtain even minimal information and there was no realistic way a small company or independent developer could join the consortium, possibly because of this the standard disappeared without trace.
Contemporary
Since the advent and subsequent popularization of the
personal computer, few genuine hardware terminals are used to interface with computers today. Using the
monitor and
keyboard, modern operating systems like
Linux and the
BSD derivatives feature
virtual consoles, which are mostly independent from the hardware used.
When using a
graphical user interface (or GUI) like the
X Window System, one's display is typically occupied by a collection of windows associated with various applications, rather than a single stream of text associated with a single process. In this case, one may use a
terminal emulator application within the windowing environment. This arrangement permits terminal-like interaction with the computer (for running a
command line interpreter, for example) without the need for a physical terminal device.
Further Information
Get more info on 'Computer Terminal'.
|
External Link Exchanges
Do you know how hard it is to get a link from a large encyclopaedia? Well we're different and will prove it. To get a link from us just add the following HTML to your site on a relevant page:
<a href="http://computer_terminal.totallyexplained.com">Computer terminal Totally Explained</a>
Then simply click through this link from your web page. Our crawlers will verify your link, extract the title of your web page and instantly add a link back to it. If you like you can remove the words Totally Explained and embed the link in article text.
As long as your link remains in place, we'll keep our link to you right here. Please play fair - our crawlers are watching. Your site must be closely related to this one's topic. Any kind of spamming, dubious practises or removing the link will result in your link from us being dropped and, potentially, your whole site being banned. |